On expressing different concurrency paradigms on virtual execution environment

نویسندگان

  • Cristian Dittamo
  • Antonio Cisternino
چکیده

Virtual execution environments (VEE) such as the Java Virtual Machine (JVM) and the Microsoft Common Language Runtime (CLR) have been designed when the dominant computer architecture featured a Von-Neumann interface to programs: a single processor hiding all the complexity of parallel computations inside its design. Programs are expressed in an intermediate form that is executed by the VEE that defines an abstract computational model in which the concurrency model has been influenced by these design choices and it basically exposes the multi-threading model of the underlying operating system. Recently computer systems have introduced computational units in which concurrency is explicit and under program control. Relevant examples are the Graphical Processing Units (GPU such as Nvidia or ATI) and the Cell BE architecture which allow for explicit control of single processing units, local memories and communication channels. Unfortunately programs designed for Virtual Machines cannot access to these resources since are not available through the abstractions provided by the VEE. A major redesign of VEEs seems to be necessary in order to bridge this gap. In this thesis we study the problem of exposing non-Von Neumann computing resources within the Virtual Machine without need for a redesign of the whole execution infrastructure. In this work we express parallel computations relying on extensible meta-data and reflection to encode information. Meta-programming techniques are then used to rewrite the program into an equivalent one using the special purpose underlying architecture. We provide a case study in which this approach is applied to compiling Common Intermediate Language (CIL) methods to multi-core GPUs; we show that it is possible to access these non-standard computing resources without any change to the virtual machine design.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Optimization of majority protocol for controlling transactions concurrency in distributed databases by multi-agent systems

In this paper, we propose a new concurrency control algorithm based on multi-agent systems which is an extension of majority protocol. Then, we suggest a clustering approach to get better results in reliability, decreasing message passing and algorithm’s runtime. Here, we consider n different transactions working on non-conflict data items. Considering execution efficiency of some different...

متن کامل

Designing a pi-based Programming Language in the .NET framework: CLR interoperability from the Programmer's point of view

Interoperability is the ability of a programming language to work together with systems based on different languages and paradigms. Presently, many widely used high-level languages implementations are providing access to external functionalities. Since we are researching for a new concurrent programming language design, our hope would be to see its widespread adoption in the next future. For th...

متن کامل

Evaluation of the Humanity Research Paradigms based on Analysis of Human – Environment Interaction

As claimed by many behavioral scientists, designing should be based on the knowledge of interaction between human and environment. Environmental quality is also created in the context in which humans interact with their environment. To achieve such quality, designers should develop appropriate models for explaining this relationship, and this requires an understanding of human nature and the en...

متن کامل

A programming environment for behavioural animation

Behavioural models offer the ability to simulate autonomous agents like organisms and living beings. Psychological studies have showed that the human behaviour can be described by a perception-decisionaction loop, in which the decisional process should integrate several programming paradigms such as real-time, concurrency and hierarchy. Building such systems for interactive simulation requires ...

متن کامل

Software Thread Level Speculation for the Java Language and Virtual Machine Environment

Thread level speculation (TLS) has shown great promise as a strategy for fine to medium grain automatic parallelisation, and in a hardware context techniques to ensure correct TLS behaviour are now well established. Software and virtual machine TLS designs, however, require adherence to high level language semantics, and this can impose many additional constraints on TLS behaviour, as well as o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010